Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 03d00d057eda33f88e41264bc6dc090fc195de67


Parents : 4d628e9
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-03-31T17:04:24+03:00

feat(Dockerfile): add healthcheck and add explicit USER

Changes

1 files changed, 6 insertions(+), 0 deletions(-)


Diff

diff --git a/Dockerfile b/Dockerfile
index c8d7e8d8..4e2be633 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -59,5 +59,11 @@ ENV PATH="/opt/venv/bin:$PATH"
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
+USER meshchat
+
+# Note: Podman defaults to OCI image layout, which drops HEALTHCHECK; use: podman build --format docker
+HEALTHCHECK --interval=30s --timeout=5s --start-period=90s --retries=3 \
+ CMD ["python", "-c", "import ssl, urllib.request; urllib.request.urlopen('https://127.0.0.1:8000/api/v1/status', context=ssl._create_unverified_context())"]
+
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["meshchat", "--host=0.0.0.0", "--reticulum-config-dir=/config/.reticulum", "--storage-dir=/config/.meshchat", "--headless"]


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────